package com.zhan.ielts.dao;

import java.util.List;

import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;

import com.zhan.frame.core.dao.BaseDao;
import com.zhan.ielts.domain.SentenceWord;
import com.zhan.ielts.domain.WordCategory;
import com.zhan.ielts.domain.WordScene;
import com.zhan.ielts.domain.query.SentenceWordQuery;
import com.zhan.ielts.domain.vo.SentenceWordVo;

public interface SentenceWordDao extends BaseDao<SentenceWord> {

	public List<String> selectType(SentenceWord query);

	public List<String> selectPassage(SentenceWord query);

	public void saveSubject(WordScene wordSubject);

	public void deleteSubject(WordScene wordSubject);

	public List<WordScene> selectSubject(WordScene wordSubject);

	public void saveCategory(WordCategory wordCategory);

	public void deleteCategory(WordCategory wordCategory);

	public List<WordCategory> selectCategory(WordCategory wordCategory);

	public PageImpl<SentenceWordVo> selectPageListCustom(
			SentenceWordQuery query, Pageable pageable);

	public Long selectCountCustom(SentenceWordQuery query);

	public Integer selectCountSeqNo(SentenceWordQuery query);

	public void updateSeqNo(SentenceWord entity);

	public Long selectWordCount(SentenceWordQuery query);

}
